/*
 * =====================================================================================
 *
 *       Filename:  cl_net_callbacks.hxx
 *
 *    Description:  
 *
 *        Version:  1.0
 *        Created:  05/06/2011 08:22:51 AM
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  Ken Chen (Ken), chen_kenz@emc.com
 *        Company:  EMC
 *
 * =====================================================================================
 */

#ifndef _CL_NET_CALLBACK_HXX_
#define _CL_NET_CALLBACK_HXX_

#include <memory>
#include <functional>
#include "cl_timestamp.hxx"

namespace neo
{
class CLBuffer;
class CLTcpConn;
typedef std::function<void (const std::shared_ptr<CLTcpConn>&)> CLConnCallback;
typedef std::function<void (const std::shared_ptr<CLTcpConn>&)> CLCloseCallback;
typedef std::function<void (const std::shared_ptr<CLTcpConn>&)> CLWriteCompleteCallback;
typedef std::function<void (const std::shared_ptr<CLTcpConn>&,
                            CLBuffer&,
                            const CLTimestamp&)> CLMessageCallback;

} // neo

#endif //_CL_NET_CALLBACK_HXX_

